﻿using SportsPlatform.Dto.PermissionManagement.DepartmentRole;
using SportsPlatform.Base;
using SportsPlatform.Query.PermissionManagement.BaseQuery;
using SportsPlatform.Query.PermissionManagement.DepartmentRole;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.PermissionManagement.IPermissionManagement
{
    /// <summary>
    /// 部门角色对应表
    /// </summary>
    public interface IDepartmentRoleService
    {
        /// <summary>
        /// 根据Id查询信息
        /// </summary>
        /// <param name="deleteOrQueryModel"></param>
        /// <returns></returns>
        Task<ResultDto<GetDepartmentRoleDto>> GetDepartmentRole(DeleteOrGetModelQuery deleteOrQueryModel);

        /// <summary>
        /// 获取信息List
        /// </summary>
        /// <param name="getDepartmentRoleQuery"></param>
        /// <returns></returns>
        Task<ResultListDto<GetDepartmentRoleDto>> GetDepartmentRoleList(GetDepartmentRoleQuery getDepartmentRoleQuery);

        /// <summary>
        /// 新增信息
        /// </summary>
        /// <param name="addDepartmentRoleQuery"></param>
        /// <returns></returns>
        Task<BaseResultDto> AddDepartmentRole(AddDepartmentRoleQuery addDepartmentRoleQuery);

        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name="updateDepartmentRoleQuery"></param>
        /// <returns></returns>
        Task<BaseResultDto> UpdateDepartmentRole(UpdateDepartmentRoleQuery updateDepartmentRoleQuery);

        /// <summary>
        /// 根据Id删除信息
        /// </summary>
        /// <param name="deleteOrQueryModel"></param>
        /// <returns></returns>
        Task<BaseResultDto> DeleteDepartmentRole(DeleteOrGetModelQuery deleteOrQueryModel);

        /// <summary>
        /// 是否启用
        /// </summary>
        /// <param name="isStatesModel"></param>
        /// <returns></returns>
        Task<BaseResultDto> IsStatesDepartmentRole(IsStatesdModel isStatesModel);
    }
}
